os generation